$(function () {
    getProductTypeOption();
    getUserTypeOption();
    getProductSortListByPage();
});
var total = 0;

//为当前显示条数文本框绑定回车事件
$('#size').bind('keypress', function (event) {
    if (event.keyCode == "13") {
        //敲击回车后重新按照新的显示条数加载页面
        getProductSortListByPage();
    }
});

//为当前页数文本框绑定回车事件
$('#pageipt').bind('keypress', function (event) {
    if (event.keyCode == "13") {
        getProductSortListByPage();
    }
});

//为上一页绑定点击事件
$('#lastpage').click(function () {
    //获取默认的当前页数和显示条数值
    let page = $("#pageipt").val();
    page--;
    if (page >= 1) {//如果不是第一页，则往前翻一页
        $("#pageipt").val(page);
        getProductSortListByPage();
    }
});

//绑定下一页点击事件
$('#nextpage').click(function () {
    //获取默认的当前页数和显示条数值
    let page = $("#pageipt").val();
    let size = $("#size").val();
    page++;
    if (page <= Math.ceil(total / size)) {
        $("#pageipt").val(page);
        getProductSortListByPage();
    }
});

//为首页绑定点击事件
$("#first").click(function () {
    let page = $("#pageipt").val();
    if (page > 1) {//如果当前页不是首页则跳转到首页，否则不做任何事情
        page = 1;
        $("#pageipt").val(page);
        getProductSortListByPage();
    }
});

//为尾页绑定点击事件
$("#last").click(function () {
    let page = $("#pageipt").val();
    let size = $("#size").val();
    if (page < Math.ceil(total / size)) {//如果当前页不是尾页，则跳转到尾页
        page = Math.ceil(total / size);
        $("#pageipt").val(page);
        getProductSortListByPage();
    }
});

//获取产品列表
function getProductList() {
    let data = myAjax("/back/product", 'get', '', 'json');
    console.log(data);
    $("tbody").html("");
    $.each(data.products, function (i, product) {
        $("tbody").append("<tr><td><input type='checkbox'></td><td>" + product.id + "</td><td>" + product.name + "</td><td>" + product.userType.name + "</td><td>" + product.productType.name + "</td><td>" + product.price + "</td><td><img src=" + product.photo + "></td><td><button onclick='directEditProduct(" + product.id + ")'>编辑</button><button onclick='deleteProduct(" + product.id + ")'>删除</button></td></tr>");
    });
}

//分页获取产品列表
function getProductSortListByPage() {
    let name = $.trim($("#name").val());
    let product_type = $("#product_type").find("option:selected").val();
    let user_type = $("#user_type").find("option:selected").val();
    let min_price = $("#min_price").val();
    let max_price = $("#max_price").val();
    let page = $("#pageipt").val();
    let size = $("#size").val();
    let sort = $("#sort").find("option:selected").val();
    //判断显示条数输入框中的值如果为空或者是非正数，则将size默认赋值为10，页面显示条数默认显示10条
    if (size.trim() == '' || size.trim() <= 0) {
        size = 5;
    }

    //判断页数输入框中的值如果为空或者是非正数，则将page默认赋值为1，页面默认显示第一页
    if (page.trim() == '' || page.trim() <= 0) {
        page = 1;
    }
    console.log(page + "," + size);
    let data = {
        'name': name,
        'product_type': product_type,
        'user_type': user_type,
        'min_price': min_price,
        'max_price': max_price,
        'page': page,
        'size': size,
        'sort': sort
    };
    let result = myAjax('/back/product/info', 'post', data, 'json');
    $("tbody").html("");
    console.log(result);
    $.each(result.products.list, function (i, product) {
        $("tbody").append("<tr><td><input type='checkbox'></td><td>" + product.id + "</td>" +
            "<td>" + product.name + "</td><td>" + product.userType.name + "</td>" +
            "<td>" + product.productType.name + "</td><td>" + product.price + "</td>" +
            "<td><img src='" + product.photo + "'></td>" + setShow(product.id, product.isShow) +
            "<td><button class='iconfont' onclick='directEditProduct(" + product.id + ")'>&#xe608;</button>" +
            "<button class='iconfont' onclick='deleteProduct(" + product.id + ")'>&#xe618;</button></td></tr>");
    });
    total = result.products.total;
    //显示总条数
    $("#pagecount").text(total);
    console.log(total);
}

function setShow(id, show) {
    if (show == 1)
        return "<td><i class='iconfont' onclick='updateShow(" + id + ",0)'>&#xe60a;</i></td>";
    else
        return "<td><i class='iconfont' onclick='updateShow(" + id + ",1)'>&#xe610;</i></td>";
}

function updateShow(id, show) {
    let data = myAjax("/back/product/show", 'post', {"id": id, "show": show}, 'text');
    if (data == 1)
        getProductSortListByPage();
    else
        alert("异常！");
}

//删除产品
function deleteProduct(id) {
    let flag = confirm("确定删除？");
    if (flag) {
        let data = myAjax('/back/product/manage', 'get', {"id": id}, 'text');
        if (data > 0)
            alert("删除成功！");
        else
            alert("删除异常！");
        getProductSortListByPage();
    }
}

//跳转产品修改界面
function directEditProduct(id) {
    sessionStorage.setItem("productid", id);
    $(".right").load("../html/back/product/editproduct.html");
}

//搜索产品
$('#find').click(function () {
    getProductSortListByPage();
});

//填充产品用户类型下拉框
function getUserTypeOption() {
    let data = myAjax('/back/product/usertype', 'get', '', 'json');
    $("#user_type").html("");
    $("#user_type").append("<option value='全部' selected='selected'>全部</option>");
    $.each(data.userType, function (i, usertype) {
        $("#user_type").append("<option value='" + usertype.id + "'>" + usertype.name + "</option>");
    })
}

//填充产品类型下拉框
function getProductTypeOption() {
    let data = myAjax('/back/product/type', 'get', '', 'json');
    $("#product_type").html("");
    $("#product_type").append("<option value='全部' selected='selected'>全部</option>");
    $.each(data.productType, function (i, producttype) {
        $("#product_type").append("<option value='" + producttype.id + "'>" + producttype.name + "</option>");
    })
}